package cn.jingzhuan.fm.mvp.contract

import cn.jingzhuan.fm.network.json.JsonResponse
import cn.jingzhuan.fm.pojo.ADBanner
import cn.jingzhuan.fm.pojo.FMAlbum
import cn.jingzhuan.fm.pojo.AlbumTodayListen
import io.reactivex.Flowable

interface FMIndexContract {

    interface Presenter {
        fun getBannerList()
        fun getTodayListenList()
        fun getAlbumRecommendList()
    }

    interface View {
        fun refreshFinish()
        fun showBannerList(bannerList:List<ADBanner>)
        fun showTodayListenList(todayListenList:List<AlbumTodayListen>)
        fun showAlbumRecommendList(albumRecommendList:List<FMAlbum>)
    }

    interface Model {
        fun getBannerList() : Flowable<JsonResponse<List<ADBanner>>>
        fun getTodayListenList() : Flowable<JsonResponse<List<AlbumTodayListen>>>
        fun getAlbumRecommendList() : Flowable<JsonResponse<List<FMAlbum>>>
    }
}